home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-03-15 | 607 b | 28 lines | [TEXT/Mrls] |
- /*
- print-all-classes.dyl
-
- A nice example of the introspective facilities of Dylan.
-
- Contributed by Troy Heninger <troyh@netcom.com>.
- */
-
- define method print-all-classes() => ();
- print-subclasses(<object>, 0);
- end method print-all-classes;
-
- define method print-subclasses(aClass :: <class>, level :: <integer>) => ();
- for (ix from 0 below level)
- write-char('\t');
- end for;
-
- print(debug-name(aClass));
-
- let subclasses = direct-subclasses(aClass);
- if (subclasses)
- for (subclass in subclasses)
- print-subclasses(subclass, level + 1);
- end for;
- end if;
- values()
- end method print-subclasses;
-